package com.exam.mapper;

import java.util.List;
import java.util.Map;

import com.exam.pojo.Classes;

/**
 * @author 蔡小凤
  *  班级Mapper接口
 */
public interface ClassesMapper {
	
	/**
	 *  通过班级编号获取班级人数
	 * @param classId 班级编号
	 * @return 班级总人数 
	 */
	Integer getNumOfPeopleByClassId(Integer classId);
	
	/**
	  *  通过专业编号获取班级列表
	 * @param majorId 专业编号
	 * @return List<Classes> 班级列表
	 */
	List<Classes> getClassesByMajorId(Integer majorId);
	
	/**
	 * 通过专业编号加班级名称获得班级对象
	 * @param classesName 班级名称
	 * @param majorId 专业编号
	 * @return 班级对象 
	 */
	Classes getClassesByMajorIdAndName(Map<Object, Object> map);
	
	/**
	  *  通过班级编号获取班级对象
	 * @param classesId 班级编号
	 * @return 班级对象
	 */
	Classes getClassesById(Integer classesId);

	/**
	 * 添加班级
	 * @param map majorId 专业编号 classesName 班级名称  
	 * @return void
	 */
	void addClasses(Map map);

	/**
	 * 更新班级
	 * @param map classesId 班级编号,newName 新名称
	 * @return void
	 */
	void updateClasses(Map map);

	/**
	 * 删除班级
	 * @param classesId 班级编号
	 * @return void
	 */
	void deleteClasses(Integer classesId);

	/**
	 * 恢复班级
	 * @param classesId 班级编号
	 * @return void
	 */
	public void recoverClasses(Integer classesId);

	/**
	 * 通过专业编号获取被删除的班级列表
	 * @param majorId 专业编号
	 * @return 被删除的班级列表
	 */
	public List<Classes> getDeletedClassesByMajorId(Integer majorId);

}
